<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class AgentStoreRequest extends FormRequest
{
    /**
     * 是否启用自定义验证
     */
    public function authorize()
    {
        return true;
    }

    /**
     * 验证规则
     */
    public function rules()
    {
        return [
            'name' => ['required', 'max:40', 'unique:agents'],
            'realname' => ['required', 'max:20'],
            'mob' => ['required', 'unique:agents'],
            'province' => ['required'],
            'city' => ['required'],
            'country' => ['required'],
            'address' => ['required'],
            'username' => ['required', 'min:5', 'max:20', 'unique:agents','alpha_dash'],
            'password' => ['required', 'min:6', 'max:16'],
            'cash' => ['required', 'numeric'],
        ];
    }

    /**
     * 自定义错误信息
     */
    public function messages()
    {
        return [
            'name.required' => '客户名称不能留空',
            'name.max' => '客户名称不能超过40个字符',
            'name.unique' => '提交的客户名称已经存在',
            'realname.required' => '客户姓名不能留空',
            'realname.max' => '客户姓名不能超过20个字符',
            'mob.required' => '手机号不能留空',
            'mob.unique' => '提交的手机号已经存在',
            'province.required' => '省份不能留空',
            'city.required' => '地级市不能留空',
            'country.required' => '区县不能留空',
            'address.required' => '详细地址不能留空',
            'username.required' => '客户登录账号不能留空',
            'username.min' => '客户登录账号最小5位',
            'username.max' => '客户登录账号最大20位',
            'username.unique' => '提交的客户登录账号已存在',
            'username.alpha_dash' => '客户登录账号只能由大小写字母、数字、下划线或破折号组成',
            'password.required' => '客户登录密码不能留空',
            'password.min' => '客户登录密码最小6位',
            'password.max' => '客户登录密码最大16位',
            'cash.required' => '账户余额不能为空',
            'cash.numeric' => '余额必须为大于等于0的小数，小数位数不能超过两位',
        ];
    }
}
